/*!
 * ValidationResults JavaScript Library v1.0.0
 * 
 * Libreria que ayuda a manejar cualquier tipo de mensaje proveniente de una
 * validacion de formulario.
 *  
 * Copyright 2012 Nanoapps and other contributors
 * 
 * Date: 04 10 2012.
 */

var DEFAULT_ERROR_MESSAGE = "Campo requerido";

/**
 * Marca un elemento erroneo en el fomulario.
 * 
 * @param fieldId el identificador del campo erroneo.
 * @param message el mensaje a mostrar justificando el error.
 */
function possErrorMessage (fieldId,message) {
	
	if($("#"+fieldId).attr("type") == 'radio'){
		$("#"+fieldId).parent().css({'color': '#CC0000'});
	} else if($("#"+fieldId)[0].tagName == 'SELECT'){
		$("#"+fieldId).css({'border': '1px solid #CC0000', 'background-color': '#FFCCCC','color': '#CC0000'});
		showError(fieldId,message);
	} else {
		$("#"+fieldId).css({'border': '1px solid #CC0000', 'background-color': '#FFCCCC'});
		showError(fieldId,message);
	}
}

/**
 * Agrega la justificacion del error al campo.
 * 
 * @param fieldId el identificador del campo erroneo.
 * @param justification el mensaje de justificacion.
 */
function showError(fieldId,justification){
	var spanMessage='';
	(justification!=undefined)?spanMessage=justification:spanMessage=DEFAULT_ERROR_MESSAGE;
	$("#"+fieldId).parent().children(':last').after('<span name="errorMessageSpan" style="color:#CC0000;margin-left:5px;">'+spanMessage+'</span>');
}

/**
 * Quita del formulario de las marcas de errores.
 * 
 * @param formId el identificador del formulario.
 * @param className el nombre de la clase a agregar a los inputs.
 * @param radioColor el color del texto de los radio bottoms.
 */
function cleanForm (formId,className,radioColor){
	
	 // Se limpian los imputs
	 $("#"+formId).find(':input').each(function() {
		 if($(this).attr("type") == 'radio'){
			 $(this).parent().css({'color': radioColor});
		 } else {
			 $(this).css({'border': '', 'background-color': ''});
			 $(this).addClass('formField');
		 } 
	 });
	 
	// Se limpian los selects
	$("#"+formId).find('select').each(function() {
		$(this).css({'border': '', 'background-color': '','color': ''});  
	    $(this).addClass('formField');
	});
	
	// Se quitan los spans con los errores
	$("#"+formId).find('span').each(function() {
		if($(this).attr('name')=='errorMessageSpan'){
			$(this).remove();
		}
	});
	
}
